{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import print_function\n",
    "import sdm as sdmlib\n",
    "from sdm import utils\n",
    "import numpy as np\n",
    "import matplotlib.mlab as mlab\n",
    "from IPython.display import clear_output\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#bits, radius = 1000, 451\n",
    "bits, radius = 256, 103\n",
    "p = utils.calculate_probability(bits, radius)\n",
    "#p = 0.00107185004892\n",
    "\n",
    "sample = 1000000\n",
    "scanner_type = sdmlib.SDM_SCANNER_OPENCL\n",
    "\n",
    "address_space = sdmlib.AddressSpace.init_random(bits, sample)\n",
    "address_space.opencl_init();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0010668455863780898"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "counter = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9900\n"
     ]
    }
   ],
   "source": [
    "for i in range(10000):\n",
    "    if i%100 == 0:\n",
    "        clear_output(wait=True)\n",
    "        print(i)\n",
    "    bs = sdmlib.Bitstring.init_random(bits)\n",
    "    result = address_space.scan_opencl2(bs, radius)\n",
    "    counter.append(len(result))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1066.8455863780898\n",
      "32.64517463382476\n"
     ]
    }
   ],
   "source": [
    "mu = sample*p\n",
    "sigma = (sample*p*(1-p))**(0.5)\n",
    "x = np.linspace(0, 2000, 2000)\n",
    "y = mlab.normpdf(x, mu, sigma)\n",
    "print(mu)\n",
    "print(sigma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e55c410>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8, 6), dpi=100)\n",
    "plt.hist(counter, bins=50, density=True)\n",
    "label = u'$\\mu={:.2f}$, $\\sigma={:.2f}$'.format(mu, sigma)\n",
    "plt.plot(x, y, 'r', linewidth=2.0, label=label)\n",
    "plt.xlim(mu-4.5*sigma, mu+4.5*sigma)\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
